#include "Calendar/LunarFestivals.hpp"

void LunarFestivals::GetDayName(Date &lunarDate, Festival &festival) noexcept
{
    // Festival r;
    if (!lunarDate.IsLeapMonth)
    {
        if (lunarDate.Equals(1, 1))
            festival.A += "春节 ", festival.Fjia = 1; // Fjia(放假)
        if (lunarDate.Equals(1, 2))
            festival.B += "大年初二 ", festival.Fjia = 1;
        if (lunarDate.Equals(5, 5))
            festival.A += "端午节 ", festival.Fjia = 1;
        if (lunarDate.Equals(8, 15))
            festival.A += "中秋节 ", festival.Fjia = 1;
        if (lunarDate.Equals(1, 15))
            festival.A += "元宵节 ", festival.B += "上元节 ", festival.C += "壮族歌墟节 苗族踩山节 达斡尔族卡钦 ";
        if (lunarDate.Equals(1, 16))
            festival.C += "侗族芦笙节(至正月二十) ";
        if (lunarDate.Equals(1, 25))
            festival.C += "填仓节 ";
        if (lunarDate.Equals(1, 29))
            festival.C += "送穷日 ";
        if (lunarDate.Equals(2, 1))
            festival.C += "瑶族忌鸟节 ";
        if (lunarDate.Equals(2, 2))
            festival.B += "春龙节(龙抬头) ", festival.C += "畲族会亲节 ";
        if (lunarDate.Equals(2, 8))
            festival.C += "傈傈族刀杆节 ";
        if (lunarDate.Equals(3, 3))
            festival.B += "北帝诞 ", festival.C += "苗族黎族歌墟节 ";
        if (lunarDate.Equals(3, 15))
            festival.C += "白族三月街(至三月二十) ";
        if (lunarDate.Equals(3, 23))
            festival.B += "天后诞 妈祖诞 ";
        if (lunarDate.Equals(4, 8))
            festival.B += "牛王诞 ";
        if (lunarDate.Equals(4, 18))
            festival.C += "锡伯族西迁节 ";
        if (lunarDate.Equals(5, 13))
            festival.B += "关帝诞 ", festival.C += "阿昌族泼水节 ";
        if (lunarDate.Equals(5, 22))
            festival.C += "鄂温克族米阔鲁节 ";
        if (lunarDate.Equals(5, 29))
            festival.C += "瑶族达努节 ";
        if (lunarDate.Equals(6, 6))
            festival.B += "姑姑节 天贶节 ", festival.C += "壮族祭田节 瑶族尝新节 ";
        if (lunarDate.Equals(6, 24))
            festival.C += "火把节、星回节(彝、白、佤、阿昌、纳西、基诺族 ) ";
        if (lunarDate.Equals(7, 7))
            festival.B += "七夕(中国情人节,乞巧节,女儿节 ) ";
        if (lunarDate.Equals(7, 13))
            festival.C += "侗族吃新节 ";
        if (lunarDate.Equals(7, 15))
            festival.B += "中元节 鬼节";
        if (lunarDate.Equals(9, 9))
            festival.B += "重阳节 ";
        if (lunarDate.Equals(10, 1))
            festival.B += "祭祖节(十月朝) ";
        if (lunarDate.Equals(10, 15))
            festival.B += "下元节 ";
        if (lunarDate.Equals(10, 16))
            festival.C += "瑶族盘王节 ";
        if (lunarDate.Equals(12, 8))
            festival.B += "腊八节 ";
    }
    if (lunarDate.NextMonth == 1)
    { // 最后一月
        if (lunarDate.Equals(12, 30) && (lunarDate.DaysOfMonth == 30))
            festival.A += "除夕 ", festival.Fjia = 1;
        if (lunarDate.Equals(12, 29) && (lunarDate.DaysOfMonth == 29))
            festival.A += "除夕 ", festival.Fjia = 1;
        if (lunarDate.Equals(12, 23))
            festival.B += "小年 ";
    }
}
